
// sort algorithm example
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool myfunction_sort (int i,int j) { return (i<j); }

struct myclass_sort {
	bool operator() (int i,int j) { return (i<j);}
} myobject;

int main57 () {
	int myints[] = {32,71,12,45,26,80,53,33};
	vector<int> myvector (myints, myints+8);               // 32 71 12 45 26 80 53 33
	vector<int>::iterator it;

	// using default comparison (operator <):
	sort (myvector.begin(), myvector.begin()+4);           //(12 32 45 71)26 80 53 33

	// using function as comp
	sort (myvector.begin()+4, myvector.end(), myfunction_sort); // 12 32 45 71(26 33 53 80)

	// using object as comp
	sort (myvector.begin(), myvector.end(), myobject);     //(12 26 32 33 45 53 71 80)

	// print out content:
	cout << "myvector contains:";
	for (it=myvector.begin(); it!=myvector.end(); ++it)
		cout << " " << *it;

	cout << endl;

	return 0;
}

